[rocprofiler-compute] Remove --nodes, --list-nodes and --spatial-multiplexing#7761
Conversation
…iplexing - Remove the multi-node analyze options --nodes and --list-nodes and the experimental --spatial-multiplexing option from profile and analyze modes. - Remove the supporting plumbing: Node-column handling, filter_nodes, get_valid_nodes, find_1st_sub_dir, create_df_pmc node branches, merge_counters_spatial_multiplex, and the soc_base spatial bucketing. - These features did not work as expected and will be redesigned later. Co-Authored-By: Claude Opus 4 (1M context)
…moval - Replace removed create_df_pmc nodes/spatial_multiplexing signature and the deleted spatial_multiplex_merge_counters example with the current code. - Use the iteration-multiplexing path in the pre_processing examples instead. Co-Authored-By: Claude Opus 4 (1M context)
There was a problem hiding this comment.
Pull request overview
This PR removes rocprofiler-compute’s previously experimental/partial multi-node analysis surface area (--nodes, --list-nodes) and spatial multiplexing (--spatial-multiplexing in profile/analyze), simplifying the codebase to the single-node workload layout.
Changes:
- Drops the CLI options and all downstream plumbing (schema fields, filters, I/O helpers, spatial merge logic).
- Simplifies analysis/workload loading and CSV join logic to assume
sysinfo.csv/pmc_perf.csvlive in the workload root directory. - Removes/updates affected unit tests and documents the removal in the CHANGELOG and coding-style guide.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/rocprofiler-compute/tools/metric_validation.py | Updates PMC dataframe load call to new create_df_pmc signature. |
| projects/rocprofiler-compute/tools/counter_grouping_inspector.py | Removes unused spatial multiplexing argument plumbing. |
| projects/rocprofiler-compute/tests/test_utils.py | Removes unit tests for removed spatial-multiplex counter merge helper. |
| projects/rocprofiler-compute/tests/test_profiler_base.py | Removes spatial multiplexing arg from test arg scaffolding. |
| projects/rocprofiler-compute/tests/test_analyze_commands.py | Removes node-related test data/coverage and updates call signatures. |
| projects/rocprofiler-compute/src/utils/utils_analysis.py | Deletes merge_counters_spatial_multiplex helper. |
| projects/rocprofiler-compute/src/utils/schema.py | Removes Workload.filter_nodes from schema. |
| projects/rocprofiler-compute/src/utils/parser.py | Removes node filtering from apply_filters. |
| projects/rocprofiler-compute/src/utils/file_io.py | Simplifies create_df_pmc, removes node filtering and node discovery helpers. |
| projects/rocprofiler-compute/src/rocprof_compute_tui/analysis_tui.py | Removes spatial multiplex merge and node filter propagation. |
| projects/rocprofiler-compute/src/rocprof_compute_soc/soc_base.py | Removes spatial multiplexing perfmon bucketing logic, simplifies file emission. |
| projects/rocprofiler-compute/src/rocprof_compute_profile/profiler_base.py | Removes now-dead sanitize check for spatial multiplexing + torch trace. |
| projects/rocprofiler-compute/src/rocprof_compute_base.py | Simplifies sysinfo loading path for analysis runs. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_webui.py | Removes node/spatial multiplexing filter paths and merge step. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_db.py | Removes spatial multiplex merge step. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_cli.py | Removes spatial multiplex merge step and node filter propagation. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_base.py | Removes node/spatial multiplexing logic from sysinfo discovery, sanitize, join flow, and API surface. |
| projects/rocprofiler-compute/src/argparser.py | Removes --nodes, --list-nodes, and --spatial-multiplexing flags and help text. |
| projects/rocprofiler-compute/PYTHON_CODING_STYLE.md | Updates examples to reflect simplified single-directory create_df_pmc usage. |
| projects/rocprofiler-compute/CHANGELOG.md | Documents removal of multi-node/spatial multiplexing options. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
xuchen-amd
left a comment
There was a problem hiding this comment.
The removal looks good.
Should we add a warning message that the feature is removed for users who did use these features?
xuchen-amd
left a comment
There was a problem hiding this comment.
offline discussion on previous question.
feizheng10
left a comment
There was a problem hiding this comment.
Please fix the copilot comments and make sure CI passed, and go ahead.
Motivation
The multi-node analysis options (
--nodes,--list-nodes) and the experimental--spatial-multiplexingoption (profile and analyze) did not work as expected. Rather than carry partially-working surface area, this removes the feature family completely so it can be redesigned and reintroduced cleanly later.Technical Details
--nodes,--list-nodes, and--spatial-multiplexing(both profile and analyze), and the spatial-multiplexing line from--experimentalhelp.Nodecolumn,filter_nodes(schema/parser/file_io),get_valid_nodes,find_1st_sub_dir, the node/spatial branches increate_df_pmc,merge_counters_spatial_multiplex, and the spatial bucketing insoc_base.JIRA ID
Test Plan
ruff checkandruff format --checkover src/tools/tests.tests/test_utils.py,tests/test_profiler_base.py, and theapply_filters/create_df_kernel_top_stats/jointests intests/test_analyze_commands.py.Test Result
All listed unit tests pass; ruff and format checks clean.
Submission Checklist